home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_pcdp / ada / rw.ada < prev    next >
Text File  |  1996-01-30  |  1KB  |  48 lines

  1. with Text_IO; use Text_IO;
  2. with RW_Monitor; use RW_Monitor;
  3. procedure RW is
  4.  
  5.   task type Reader is
  6.     entry Init(I: in Integer);
  7.   end Reader;
  8.  
  9.   task type Writer is
  10.     entry Init(I: in Integer);
  11.   end Writer;
  12.  
  13.   R: array (1..6) of Reader;
  14.   W: array (1..3) of Writer;
  15.  
  16.   task body Reader is
  17.     ID: Integer;
  18.   begin
  19.     accept Init(I: in Integer) do
  20.       ID := I;
  21.     end Init;
  22.     loop
  23.       Start_Read;
  24.       Put_Line(Integer'Image(ID) & "  Reading ");
  25.       Stop_Read;
  26.       Put_Line(Integer'Image(ID) & "  Not Reading ");
  27.     end loop;
  28.   end Reader;
  29.  
  30.   task body Writer is
  31.     ID:  Integer;
  32.   begin
  33.     accept Init(I: in Integer) do
  34.       ID := I;
  35.     end Init;
  36.     loop
  37.       Start_Write;
  38.       Put_Line(Integer'Image(ID) & "  Writing ");
  39.       Stop_Write;
  40.       Put_Line(Integer'Image(ID) & "  Not Writing ");
  41.     end loop;
  42.   end Writer;
  43.  
  44. begin
  45.   for I in R'Range loop R(I).Init(I); end loop;
  46.   for I in W'Range loop W(I).Init(I); end loop;
  47. end RW;
  48.